package main

import (
	"context"
	gogin "github.com/gin-gonic/gin"
	goredis "github.com/redis/go-redis/v9"
	"time"
)

var ctx = context.Background()

func main() {
	// 创建Redis客户端实例
	redisdb := goredis.NewClient(&goredis.Options{
		Addr: "localhost:6379",
		//Password: "", // no password set
		DB: 10, // use default DB
	})

	// 检查Redis连接
	err := redisdb.Ping(ctx).Err()
	if err != nil {
		panic(err)
	}

	// 初始化Gin引擎
	router := gogin.Default()
	// 添加一个GET路由 http://localhost:8080/hello
	router.GET("/hello", func(context *gogin.Context) {
		// 从redis 存数据 ，存5分钟
		redisdb.Set(context, "hello", "test", time.Minute*5)
		// 从Redis获取数据
		val, err := redisdb.Get(ctx, "hello").Result()
		if err != nil {
			context.JSON(500, gogin.H{"error": err.Error()})
			return
		}
		// 返回Redis中的数据
		context.JSON(200, gogin.H{"message": val})
	})

	// 启动Gin服务器
	router.Run(":8080")
}
